home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / amiga / make-367.lha / make-3.67 / README < prev   
Text File  |  1993-05-24  |  6KB  |  134 lines

  1. GNU Make v3.67 for the Amiga
  2. ============================
  3.  
  4. Short: Amiga port of GNU Make 3.67
  5.  
  6. 1. Contents of this archive:
  7.  
  8.    libs (dir)
  9.      ixemul.library
  10.      COPYING.LIB
  11.    glob (dir)
  12.      Makefile
  13.    bin (dir)
  14.      make
  15.    build.sh
  16.    config.h
  17.    config.status
  18.    COPYING
  19.    make.diff
  20.    Makefile
  21.    README
  22.  
  23. 2. Installation
  24.  
  25.    Just copy bin/make to a place in your path (e.g. BIN:) and
  26.    libs/ixemul.library to LIBS:. You will not be able to run make nor
  27.    recompile without ixemul.library! The library was created by Markus Wild
  28.    (<wild@nessie.cs.id.ethz.ch>) and provides emulation of *NIX
  29.    kernel/system functions (again credits where credits belong: Thank you
  30.    Markus, thank you!).
  31.  
  32.    NOTE: GNU make and ixemul.library are FREE software. Please refer to
  33.    libs/COPYING.LIB for copyright stuff concerning the library and COPYING
  34.    for the GNU GENERAL PUBLIC LICENSE. The library source is available via
  35.    anonymous ftp from amiga.physik.unizh.ch and mirrors.
  36.  
  37.    Currently, the vfork() system call from ixemul.library, as utilized by
  38.    GNU make, requires OS2.x. I have not been able to test make under 1.x,
  39.    it *might* work, but will certainly not if vfork() is invoked. Full
  40.    functionality is available at least under 2.x. With 3.0, however, there
  41.    should be no problems, but I couldn't test that, too.
  42.  
  43. 3. Recompile
  44.  
  45.    Source and documentation of GNU make-3.67 are available via anonymous
  46.    ftp from various sites, most probably from the site you got this archive
  47.    from. Please check make.diff for modifications! Eg. you will probably
  48.    want to adjust the stuff around INCLUDEDIR and LIBDIR in read.c and
  49.    remake.c if your gcc: tree layout diverges from the standard one.
  50.  
  51.    There are several ways to recompile:
  52.  
  53.    - use 'config.status' to recreate 'build.sh' and the Makefiles
  54.      > sh config.status
  55.  
  56.    - use 'build.sh' in the current dir to rebuild 'make' without a
  57.      make-tool
  58.      > sh build.sh
  59.  
  60.    - use the original 'configure' shell script:
  61.      > sh configure
  62.  
  63.    - use 'bin/make' or your (up to now) favorite make-tool and the
  64.      included Makefiles :); ./Makefile might need editing for correct
  65.      pathes and binaries on your machine
  66.  
  67.      Except for the last possibility the following binaries are required in
  68.      your path, which are available from the gcc-release, SKsh, pdksh, GNU
  69.      file- and textutils, GNU-grep etc.: sh, rm, tr, chmod, sed, cat,
  70.      egrep, grep, mv, gcc/v.
  71.  
  72.      HINT: if you have an 'install'-programm in your path (e.g from
  73.      GNU-fileutils), please rename ./INSTALL to something (completely :))
  74.      different; if the current directory is in your path before the
  75.      location the 'install'-programm resides, 'configure' inserts ./INSTALL
  76.      as install-programm, because AmigaOS is not case-sensitive. Also
  77.      beware of C:Install!
  78.  
  79.      If sh cannot find your binaries: '"set" or "setenv" PATH <where the
  80.      bins reside>' (you could also recompile pdksh with your preferred path
  81.      builtin).
  82.  
  83.      IMPORTANT: check make.diff for the modifications to the
  84.      'configure'-script. It will only work with gccv instead of gcc!
  85.  
  86.      The created 'config.h' will contain some wrong '#define's' and needs
  87.      editing by hand. I have no idea if this arises from the pdksh or is a
  88.      deficiency of 'configure'. So check carefully or use the included
  89.      config.h!
  90.  
  91. 4. Documentation
  92.  
  93.    There are no docs included. Full documentation is available via
  94.    anonymous ftp (make-doc-3.67.tar.z). Using 'makeinfo' from AmigaLibDisk
  95.    787 with 'make.texinfo' from the original 'make-3.67.tar.z'-archive you
  96.    can create a plain ASCII-file, a 'TeX'-ed documentation, the
  97.    make.info-?-files for use with InfoView or even an AmigaGuide-style
  98.    docfile.
  99.  
  100.    GNU make offers several features not provided by other make utilities:
  101.    - recursive make (descending directory trees, make, ascend)
  102.    - multiple concurrent make jobs (really works, but needs LOTS of ram!)
  103.    - a lot of additional implicit rules
  104.  
  105. 5. Hints (Hi Rainer and Ed!)
  106.  
  107.    - RAM, RAM, RAM and more RAM! Using make recursively on nested
  108.      directories, such as often found inside GNU-distributions, usually
  109.      requires several MB of RAM (several > 5, usually). Eg., when
  110.      compiling groff or libg++, at some point of execution you may find two
  111.      or more instances of each make and pdksh running concurrently,
  112.      additionally to the compilers. Since gcc requires at least around 250k
  113.      of stack you must have set your current shell's stack to that value.
  114.      Unfortunately, *all* of the executables started by make will have that
  115.      large stack allocated, resulting in 1--3 MB of RAM for stack only! To
  116.      save you some RAM, it might be exciting to find out how *small* the
  117.      stacksize may be but have gcc still working ... :). Maybe GigaMem or
  118.      something similar provides you a satisfactory solution. I have tried
  119.      'Virtual' from the german 'Amiga-Magazin' PD-Disk, but this does not
  120.      seem to work orderly when using 'gccv -pipe' and the subcompilers
  121.      resident'ed.
  122.    - make starts it's subprocesses via pdksh. Therefore it is very useful
  123.      to have 'sh' resident.
  124.    - To save some memory when using make recursively I tried to compile
  125.      'make' with '-resident'; it compiled properly, but the resulting
  126.      binary ignored all command line options and was likely to meet the
  127.      guru. Any idea on this?
  128.  
  129. Send bugs, comments, needles and pins, Them Bones, A5000's to
  130.     <st000002@hrz1.hrz.th-darmstadt.de>
  131.  
  132. And, as always, have fun! (>;-))
  133. Lars Hecking
  134.